#![no_std]
#![no_main]


mod c;

mod rtos;
mod utils;
mod error;

pub use rtos::delay;
pub use rtos::delay_until;
pub use rtos::kernel_get_tick_count;
pub use rtos::kernel_initialize;
pub use rtos::kernel_start;
pub use rtos::system_init;

pub use utils::Align8Store;

pub use rtos::event_flags::*;
pub use rtos::mutex::*;
pub use rtos::thread::*;
pub use rtos::message_queue::*;

pub use c::osThreadDetached;
pub use c::osThreadJoinable;

pub use c::osPriority_t_osPriorityHigh;
pub use c::osPriority_t_osPriorityHigh1;
pub use c::osPriority_t_osPriorityHigh2;
pub use c::osPriority_t_osPriorityHigh3;
pub use c::osPriority_t_osPriorityHigh4;
pub use c::osPriority_t_osPriorityHigh5;
pub use c::osPriority_t_osPriorityHigh6;
pub use c::osPriority_t_osPriorityHigh7;

pub use c::osPriority_t_osPriorityRealtime;
pub use c::osPriority_t_osPriorityRealtime1;
pub use c::osPriority_t_osPriorityRealtime2;
pub use c::osPriority_t_osPriorityRealtime3;
pub use c::osPriority_t_osPriorityRealtime4;
pub use c::osPriority_t_osPriorityRealtime5;
pub use c::osPriority_t_osPriorityRealtime6;
pub use c::osPriority_t_osPriorityRealtime7;

pub use c::osPriority_t_osPriorityISR;